home *** CD-ROM | disk | FTP | other *** search
/ Giga Games 1 / Giga Games.iso / net / usenet / volume7 / nethack3 / patch8d < prev    next >
Encoding:
Internet Message Format  |  1990-06-08  |  59.5 KB

  1. Path: uunet!tut.cis.ohio-state.edu!ucsd!ogicse!zephyr.ens.tek.com!tekred!saab!billr
  2. From: billr@saab.CNA.TEK.COM (Bill Randle)
  3. Newsgroups: comp.sources.games
  4. Subject: v10i022:  NetHack3 -  display oriented dungeons & dragons (Ver. 3.0), Patch8d
  5. Message-ID: <5730@tekred.CNA.TEK.COM>
  6. Date: 5 Jun 90 17:50:52 GMT
  7. Sender: news@tekred.CNA.TEK.COM
  8. Lines: 1870
  9. Approved: billr@saab.CNA.TEK.COM
  10. Posted: Tue Jun  5 10:50:52 1990
  11.  
  12. Submitted-by: Izchak Miller <izchak@linc.cis.upenn.edu>
  13. Posting-number: Volume 10, Issue 22
  14. Archive-name: NetHack3/Patch8d
  15. Patch-To: NetHack3: Volume 7, Issue 56-93
  16.  
  17.  
  18.  
  19. #! /bin/sh
  20. # This is a shell archive.  Remove anything before this line, then unpack
  21. # it by saving it into a file and typing "sh file".  To overwrite existing
  22. # files, type "sh file -c".  You can also feed this as standard input via
  23. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  24. # will see the following message at the end:
  25. #        "End of archive 4 (of 24)."
  26. # Contents:  amiga/GBinfo.uu patch8.12 vms/lev_lex.h
  27. # Wrapped by billr@saab on Mon Jun  4 15:27:14 1990
  28. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  29. if test -f 'amiga/GBinfo.uu' -a "${1}" != "-c" ; then 
  30.   echo shar: Will not clobber existing file \"'amiga/GBinfo.uu'\"
  31. else
  32. echo shar: Extracting \"'amiga/GBinfo.uu'\" \(2541 characters\)
  33. sed "s/^X//" >'amiga/GBinfo.uu' <<'END_OF_FILE'
  34. Xbegin 644 Guidebook.info
  35. XMXQ```0``````NP`2`%``*P`&``,``0`B3>``(DZH````````````````````
  36. XM````!/X`(ID``````(````"``````````````````!]```````!0`"H``@`!
  37. XMT]@#````````````````````````````````````````````````/______X
  38. XM!X```/\\__]__?_\``#_'/_^?_W__P``_PSP?!_Y__\``?\DYSY_^_S_@`#_
  39. XM,.`^?_G^?X``_SCG_F_]_S^``'\\\'\?_/^_@``?______X_OX``````````
  40. XM`'^`````'_______@````!S______P`````\______\`````//@\0^#^````
  41. XM`'SSGCG.?@````#\\YYYP'P`````_/.>?\_X`````?SX/#_@^`````/\____
  42. XM__`````#_/_____@````!_P!____X`````_______\`````/______^`````
  43. XM``````'_@``'_______"_P``#_______GWX``!YS___Q_[Y^```^<___^?]\
  44. XM_```/G.#\'G/?_@``#X#^><YGT?X```^<\'G^#\/\```/G,YYSF??^```!YS
  45. XMA/!QSS^````/______^?````!_______S```````````````````````````
  46. XM``````````````````````````````````````````````````````````!_
  47. XM______S_P```P``````'^'P``0##``"``@`#``$`XP`!@`(``(`#`/,/@^`&
  48. XM``#``@#;&,&`!`,`0`,`SQ_!@`8!@$`!`,<8`9`"`,!``8###X#@`P!`0`#@
  49. XM``````'`0$``/________X!`````(```````0````&,``````,````!#````
  50. XM``"`````PP?#O!\!@````(,,8<8Q@0````$##&&&/X(````#`PQA@#`&````
  51. XM`@,'P\`?!`````0#``````@````,`P`````8````"`/^````$````!``````
  52. XM`"`````P``````!@``?_______X`0``8```````]`,``,```````8(&``"&,
  53. XM```.`$&!``!!C```!@"#`P``08Q\#X8P@`8``$'\!AC&8,0$``!!C#X8!\"`
  54. XM"```08S&&,9@@!@``&&,>P^.,,!P```P``````!@P```&```````,X````?_
  55. XM______X``````````````````````````````````````````````````%``
  56. XM*@`"``'@\`,````````````````````````````````````````````````_
  57. XM______@'@```_SS__W_]__P``/\<__Y__`/_``#_#/!\'_@`/P`!_R3G/G_X
  58. XM``>``/\PX#Y_^`````#_..?^;_P`````?SSP?Q_\X````!_______C@`````
  59. XM````````8#`````?_____@``````'/____X``````#S_____```````\^#Q#
  60. XMX`,`````?/.>.<X#`````/SSGGG`8P````#\\YY_S_L````!_/@\/^#_@```
  61. XM`_S______.````/\_____^`````'_`'____@````#_______P`````______
  62. XM_X```````````?^```?______\+_```/______^??@``'G/___'_OGX``#YS
  63. XM___Y_WS\```^<X/P><]_^```/@/YYSF??_@``#YSP>?X/W_P```^<SGG.9]_
  64. XMX```'G.$\''//X````_______Y\````'_______,````````````````````
  65. XM````````````````````````````````````````````````````````````
  66. XM`````'_______/_```#```````?X?``!`,,``(`"``,``0#C``&``_P`@`,`
  67. XM\P^#X`8#P,`"`-L8P8`$`#A``P#/'\&`!@`'P`$`QQ@!D`(``'@!@,,/@.`#
  68. XM```&`.```````<```@`_________X#(````@`````0`"````8P````$_\@``
  69. XM`$,`````C^0```##!\.\'\.(````@PQAQC'C<````0,,888_GX````,##&&`
  70. XM,`<````"`P?#P!\'@```!`,`````'.````P#`````!@````(`_X````0````
  71. XM$```````(````#```````&``!________@!``!@``````#T`P``P``````!@
  72. XM@8``(8P```X`08$``$&,```&`(,#``!!C'P/AC"`!@``0?P&&,9@@`0``$&,
  73. XM/A@'P(`(``!!C,88QF"`&```88Q[#XXPP'```#```````&#````8```````S
  74. XM@```!________@``````````````````````````````````````````````
  75. X5`!-365,Z571I;&ET:65S+TUO<F4`
  76. X`
  77. Xend
  78. END_OF_FILE
  79. if test 2541 -ne `wc -c <'amiga/GBinfo.uu'`; then
  80.     echo shar: \"'amiga/GBinfo.uu'\" unpacked with wrong size!
  81. fi
  82. # end of 'amiga/GBinfo.uu'
  83. fi
  84. if test -f 'patch8.12' -a "${1}" != "-c" ; then 
  85.   echo shar: Will not clobber existing file \"'patch8.12'\"
  86. else
  87. echo shar: Extracting \"'patch8.12'\" \(53441 characters\)
  88. sed "s/^X//" >'patch8.12' <<'END_OF_FILE'
  89. X*** include/Old/amiconf.h    Sun Jun  3 16:01:53 1990
  90. X--- include/amiconf.h    Wed May 23 17:58:08 1990
  91. X***************
  92. X*** 107,112 ****
  93. X--- 107,113 ----
  94. X  #define MAIL            /* Get mail at unexpected occasions */
  95. X  #define AMIGA_WBENCH        /* Icon support */
  96. X  #define DEFAULT_ICON "NetHack:default.icon"    /* private icon for above */
  97. X+ #define AMIFLUSH        /* toss typeahead (select flush in .cnf) */
  98. X  #undef    TERMLIB
  99. X  
  100. X  #endif /* AMICONF_H */
  101. X*** include/Old/config.h    Sun Jun  3 16:02:40 1990
  102. X--- include/config.h    Thu May 24 21:31:06 1990
  103. X***************
  104. X*** 11,17 ****
  105. X   *        Select the version of the OS you are using.
  106. X   *        For "UNIX" select either SYSV or BSD in unixconf.h.
  107. X   *        A "VMS" option is not needed since the VMS C-compiler
  108. X!  *        provides it (comment out the default OS option here).
  109. X   */
  110. X  
  111. X  #define UNIX        /* delete if no fork(), exec() available */
  112. X--- 11,17 ----
  113. X   *        Select the version of the OS you are using.
  114. X   *        For "UNIX" select either SYSV or BSD in unixconf.h.
  115. X   *        A "VMS" option is not needed since the VMS C-compiler
  116. X!  *              provides it (no need to change sec#1, vmsconf.h handles it).
  117. X   */
  118. X  
  119. X  #define UNIX        /* delete if no fork(), exec() available */
  120. X***************
  121. X*** 22,34 ****
  122. X  /* #define MSDOS    /* define for MS-DOS and most other micros */
  123. X              /* DO NOT define for AMIGA - MSDOS will be
  124. X               * automatically defined at the right place. */
  125. X! # ifdef AZTEC_C     /* Manx 3.6 auto-defines this */
  126. X! #  ifdef MCH_AMIGA    /* Manx 3.6 auto-defines this for AMIGA */
  127. X  #   ifndef AMIGA
  128. X  #define AMIGA        /* define for Commodore-Amiga */
  129. X  #   endif        /* (Lattice auto-defines AMIGA) */
  130. X  #  endif
  131. X  # endif
  132. X  /* #define TOS        /* define for Atari 1040ST */
  133. X  
  134. X  /* #define STUPID    /* avoid some complicated expressions if
  135. X--- 22,43 ----
  136. X  /* #define MSDOS    /* define for MS-DOS and most other micros */
  137. X              /* DO NOT define for AMIGA - MSDOS will be
  138. X               * automatically defined at the right place. */
  139. X! # ifdef AZTEC_C     /* Manx auto-defines this */
  140. X! #  ifdef MCH_AMIGA    /* Manx auto-defines this for AMIGA */
  141. X  #   ifndef AMIGA
  142. X  #define AMIGA        /* define for Commodore-Amiga */
  143. X  #   endif        /* (Lattice auto-defines AMIGA) */
  144. X+ /* #define AZTEC_36    /* define for version 3.6 of manx */
  145. X+ #define AZTEC_50    /* define for version 5.0 of manx */
  146. X  #  endif
  147. X  # endif
  148. X+ #ifdef LATTICE
  149. X+ # define NEARDATA __near /* put some data close */
  150. X+ # define NO_SCAN_BRACK    /* scanf doesn't handle [] (this define available
  151. X+              * for any system with this problem) */
  152. X+ #else
  153. X+ # define NEARDATA
  154. X+ #endif
  155. X  /* #define TOS        /* define for Atari 1040ST */
  156. X  
  157. X  /* #define STUPID    /* avoid some complicated expressions if
  158. X***************
  159. X*** 36,42 ****
  160. X  /* #define STUPID_CPP    /* use many small functions instead of macros to
  161. X                 avoid overloading limited preprocessors */
  162. X  /* #define TERMINFO    /* uses terminfo rather than termcap */
  163. X!             /* should be defined for most, but not all, SYSV */
  164. X              /* in particular, it should NOT be defined for the
  165. X               * UNIXPC unless you remove the use of the shared
  166. X               * library in the makefile */
  167. X--- 45,52 ----
  168. X  /* #define STUPID_CPP    /* use many small functions instead of macros to
  169. X                 avoid overloading limited preprocessors */
  170. X  /* #define TERMINFO    /* uses terminfo rather than termcap */
  171. X!             /* should be defined for HPUX and most, but not all,
  172. X!                SYSV */
  173. X              /* in particular, it should NOT be defined for the
  174. X               * UNIXPC unless you remove the use of the shared
  175. X               * library in the makefile */
  176. X***************
  177. X*** 47,72 ****
  178. X  
  179. X  #ifdef AMIGA
  180. X  #define NEED_VARARGS
  181. X! # ifdef AZTEC_C
  182. X  #  define KR1ED        /* Aztec 3.6 needs extra help for defined() */
  183. X  # endif
  184. X  #endif
  185. X  
  186. X  #ifdef MACOS
  187. X! /* #define KR1ED    /* for compilers which can't handle defined() */
  188. X!             /* Lightspeed & Aztec can't handle defined() yet */
  189. X! /* #define LSC        /* for the Lightspeed 3.01p4 C compiler on the Mac */
  190. X  /* #define AZTEC    /* for the Manx Aztec C 3.6c compiler */
  191. X! #define THINKC4    /* for the Think C 4 compiler */
  192. X! /* #define MAKEDEFS_C    /* uncomment this ONLY while compiling makedefs */
  193. X! /* #define CUSTOM_IO    /* uncomment only while compiling Nethack */
  194. X  # ifndef MAKEDEFS_C
  195. X  #  ifndef NEED_VARARGS
  196. X  #define NEED_VARARGS    /* if you're using precompiled headers */
  197. X  #  endif
  198. X  # endif
  199. X! #define SMALLDATA    /* for Mac compilers with 32K global data limit */
  200. X! #endif
  201. X  
  202. X  
  203. X  #ifdef KR1ED        /* For compilers which cannot handle defined() */
  204. X--- 57,114 ----
  205. X  
  206. X  #ifdef AMIGA
  207. X  #define NEED_VARARGS
  208. X! # ifdef AZTEC_36
  209. X  #  define KR1ED        /* Aztec 3.6 needs extra help for defined() */
  210. X  # endif
  211. X+ # ifdef AZTEC_50
  212. X+ #  define USE_OLDARGS    /* Aztec 5.0 prototypes aren't quite right */
  213. X+ # endif
  214. X  #endif
  215. X  
  216. X  #ifdef MACOS
  217. X! #define THINKC4        /* for the Think C 4.0 compiler */
  218. X! /* #define LSC        /* for the Lightspeed C 3.01p4 compiler */
  219. X  /* #define AZTEC    /* for the Manx Aztec C 3.6c compiler */
  220. X! #define SMALLDATA    /* for Mac compilers with 32K global data limit */
  221. X! #define CUSTOM_IO    /* uncomment only while compiling Nethack */
  222. X! /* #define MAKEDEFS_C    /* uncomment only while compiling makedefs */
  223. X  # ifndef MAKEDEFS_C
  224. X  #  ifndef NEED_VARARGS
  225. X  #define NEED_VARARGS    /* if you're using precompiled headers */
  226. X  #  endif
  227. X  # endif
  228. X! # ifdef LSC
  229. X! #define KR1ED    /* for compilers which can't handle defined() */
  230. X! # endif
  231. X! # ifdef AZTEC
  232. X! #define KR1ED    /* Lightspeed C & Aztec can't handle defined() yet */
  233. X! # endif
  234. X! #endif    /* MACOS */
  235. X! 
  236. X! #ifdef VMS      /* really old compilers need special handling, detected here */
  237. X! # ifdef VAXC    /* must use CC/DEFINE=ANCIENT_VAXC for vaxc v2.2 or older */
  238. X! #  ifdef ANCIENT_VAXC   /* vaxc v2.2 and earlier [lots of warnings to come] */
  239. X! #   define KR1ED        /* simulate defined() */
  240. X! #   define USE_VARARGS
  241. X! #  else                 /* vaxc v2.3,2.4,or 3.x */
  242. X! #   if defined(PROTOTYPING_ON)  /* this breaks 2.2 (*forces* use of ANCIENT)*/
  243. X! #    define __STDC__ 0  /* vaxc is not yet ANSI compliant, but close enough */
  244. X! #    define signed      /* well, almost close enough */
  245. X! #include <stddef.h>
  246. X! #   endif
  247. X! #   define USE_STDARG
  248. X! #  endif
  249. X! # endif /*VAXC*/
  250. X! # ifdef VERYOLD_VMS     /* v4.5 or earlier */
  251. X! #  define USE_OLDARGS   /* <varargs.h> is there, vprintf & vsprintf aren't */
  252. X! #  ifdef USE_VARARGS
  253. X! #   undef USE_VARARGS
  254. X! #  endif
  255. X! #  ifdef USE_STDARG
  256. X! #   undef USE_STDARG
  257. X! #  endif
  258. X! # endif
  259. X! #endif /*VMS*/
  260. X  
  261. X  
  262. X  #ifdef KR1ED        /* For compilers which cannot handle defined() */
  263. X***************
  264. X*** 99,105 ****
  265. X  #define WIZARD  "izchak" /* the person allowed to use the -D option */
  266. X  # else
  267. X  #define WIZARD
  268. X! #define WIZARD_NAME "johnny"
  269. X  # endif
  270. X  #endif
  271. X  
  272. X--- 141,147 ----
  273. X  #define WIZARD  "izchak" /* the person allowed to use the -D option */
  274. X  # else
  275. X  #define WIZARD
  276. X! #define WIZARD_NAME "izchak"
  277. X  # endif
  278. X  #endif
  279. X  
  280. X*** include/Old/extern.h    Sun Jun  3 16:04:10 1990
  281. X--- include/extern.h    Sat Jun  2 19:44:37 1990
  282. X***************
  283. X*** 177,183 ****
  284. X--- 177,185 ----
  285. X  #endif
  286. X  E int NDECL(dodrop);
  287. X  E boolean FDECL(flooreffects, (struct obj *,int,int));
  288. X+ #ifdef ALTARS
  289. X  E void FDECL(doaltarobj, (struct obj *));
  290. X+ #endif
  291. X  E boolean FDECL(canletgo, (struct obj *,const char *));
  292. X  E void FDECL(dropx, (struct obj *));
  293. X  E void FDECL(dropy, (struct obj *));
  294. X***************
  295. X*** 221,227 ****
  296. X  E int NDECL(Boots_on);
  297. X  E int NDECL(Gloves_on);
  298. X  E int NDECL(Helmet_on);
  299. X! E int FDECL(select_off, (struct obj *otmp));
  300. X  E int NDECL(take_off);
  301. X  #endif
  302. X  E void FDECL(off_msg, (struct obj *));
  303. X--- 223,229 ----
  304. X  E int NDECL(Boots_on);
  305. X  E int NDECL(Gloves_on);
  306. X  E int NDECL(Helmet_on);
  307. X! E int FDECL(select_off, (struct obj *));
  308. X  E int NDECL(take_off);
  309. X  #endif
  310. X  E void FDECL(off_msg, (struct obj *));
  311. X***************
  312. X*** 271,277 ****
  313. X  E void FDECL(fall_down, (struct monst *,int));
  314. X  E int FDECL(dogfood, (struct monst *,struct obj *));
  315. X  E int FDECL(inroom, (XCHAR_P,XCHAR_P));
  316. X! E int FDECL(tamedog, (struct monst *,struct obj *));
  317. X  
  318. X  /* ### dogmove.c ### */
  319. X  
  320. X--- 273,279 ----
  321. X  E void FDECL(fall_down, (struct monst *,int));
  322. X  E int FDECL(dogfood, (struct monst *,struct obj *));
  323. X  E int FDECL(inroom, (XCHAR_P,XCHAR_P));
  324. X! E struct monst *FDECL(tamedog, (struct monst *,struct obj *));
  325. X  
  326. X  /* ### dogmove.c ### */
  327. X  
  328. X***************
  329. X*** 299,305 ****
  330. X--- 301,309 ----
  331. X  E int NDECL(opentin);
  332. X  E int NDECL(unfaint);
  333. X  #endif
  334. X+ #ifdef POLYSELF
  335. X  E boolean FDECL(is_edible, (struct obj *));
  336. X+ #endif
  337. X  E void NDECL(init_uhunger);
  338. X  E int NDECL(Hear_again);
  339. X  E void NDECL(reset_eat);
  340. X***************
  341. X*** 320,325 ****
  342. X--- 324,332 ----
  343. X  
  344. X  E int NDECL(done1);
  345. X  E int NDECL(done2);
  346. X+ #ifdef OVERLAY
  347. X+ E int NDECL(done_intr);
  348. X+ #endif
  349. X  E void FDECL(done_in_by, (struct monst *));
  350. X  E void VDECL(panic, (const char *,...));
  351. X  E void FDECL(done, (int));
  352. X***************
  353. X*** 530,536 ****
  354. X  /* ### makemon.c ### */
  355. X  
  356. X  E struct monst *FDECL(makemon, (struct permonst *,int,int));
  357. X! E void FDECL(enexto, (coord *,XCHAR_P,XCHAR_P,struct permonst *));
  358. X  E int FDECL(goodpos, (int,int, struct permonst *));
  359. X  E void FDECL(rloc, (struct monst *));
  360. X  E void FDECL(vloc, (struct monst *));
  361. X--- 537,543 ----
  362. X  /* ### makemon.c ### */
  363. X  
  364. X  E struct monst *FDECL(makemon, (struct permonst *,int,int));
  365. X! E boolean FDECL(enexto, (coord *,XCHAR_P,XCHAR_P,struct permonst *));
  366. X  E int FDECL(goodpos, (int,int, struct permonst *));
  367. X  E void FDECL(rloc, (struct monst *));
  368. X  E void FDECL(vloc, (struct monst *));
  369. X***************
  370. X*** 575,580 ****
  371. X--- 582,590 ----
  372. X  
  373. X  E int FDECL(somex, (struct mkroom *));
  374. X  E int FDECL(somey, (struct mkroom *));
  375. X+ #ifdef OVERLAY
  376. X+ E int FDECL(comp, (genericptr_t, genericptr_t));
  377. X+ #endif
  378. X  #ifdef ORACLE
  379. X  E boolean FDECL(place_oracle, (struct mkroom *,int *,int *,int *));
  380. X  #endif
  381. X***************
  382. X*** 582,588 ****
  383. X--- 592,600 ----
  384. X  E int FDECL(okdoor, (XCHAR_P,XCHAR_P));
  385. X  E void FDECL(dodoor, (int,int,struct mkroom *));
  386. X  E void FDECL(mktrap, (int,int,struct mkroom *));
  387. X+ #ifdef FOUNTAINS
  388. X  E void FDECL(mkfount, (int,struct mkroom *));
  389. X+ #endif
  390. X  
  391. X  /* ### mkmaze.c ### */
  392. X  
  393. X***************
  394. X*** 597,603 ****
  395. X  
  396. X  /* ### mkobj.c ### */
  397. X  
  398. X! E struct obj *FDECL(mkobj_at, (CHAR_P,int,int));
  399. X  E struct obj *FDECL(mksobj_at, (int,int,int));
  400. X  E struct obj *FDECL(mkobj, (CHAR_P,BOOLEAN_P));
  401. X  E int NDECL(rndmonnum);
  402. X--- 609,615 ----
  403. X  
  404. X  /* ### mkobj.c ### */
  405. X  
  406. X! E struct obj *FDECL(mkobj_at, (CHAR_P,int,int,BOOLEAN_P));
  407. X  E struct obj *FDECL(mksobj_at, (int,int,int));
  408. X  E struct obj *FDECL(mkobj, (CHAR_P,BOOLEAN_P));
  409. X  E int NDECL(rndmonnum);
  410. X***************
  411. X*** 625,636 ****
  412. X--- 637,652 ----
  413. X  /* ### mkroom.c ### */
  414. X  
  415. X  E void FDECL(mkroom, (int));
  416. X+ #if defined(ALTARS) && defined(THEOLOGY)
  417. X  E void FDECL(shrine_pos, (int *, int*, struct mkroom *));
  418. X+ #endif
  419. X  E boolean FDECL(nexttodoor, (int,int));
  420. X  E boolean FDECL(has_dnstairs, (struct mkroom *));
  421. X  E boolean FDECL(has_upstairs, (struct mkroom *));
  422. X  E int FDECL(dist2, (int,int,int,int));
  423. X+ #ifdef THRONES
  424. X  E struct permonst *NDECL(courtmon);
  425. X+ #endif
  426. X  
  427. X  /* ### mon.c ### */
  428. X  
  429. X***************
  430. X*** 801,811 ****
  431. X--- 817,830 ----
  432. X  E char *FDECL(makeplural, (const char *));
  433. X  E char *FDECL(makesingular, (const char *));
  434. X  E struct obj *FDECL(readobjnam, (char *));
  435. X+ E int FDECL(rnd_class, (int,int));
  436. X  
  437. X  /* ### options.c ### */
  438. X  
  439. X  E void NDECL(initoptions);
  440. X  E void FDECL(assign_graphics, (unsigned int *, int));
  441. X+ E void NDECL(assign_ibm_graphics);
  442. X+ E void NDECL(assign_dec_graphics);
  443. X  E void FDECL(parseoptions, (char *,BOOLEAN_P));
  444. X  E int NDECL(doset);
  445. X  E int NDECL(dotogglepickup);
  446. X***************
  447. X*** 882,888 ****
  448. X  E void FDECL(pickup, (int));
  449. X  E struct obj *FDECL(pick_obj, (struct obj *));
  450. X  E int NDECL(doloot);
  451. X- E void NDECL(get_all_from_box);
  452. X  E void FDECL(use_container, (struct obj *, int));
  453. X  E void FDECL(inc_cwt, (struct obj *, struct obj *));
  454. X  E void FDECL(delete_contents, (struct obj *));
  455. X--- 901,906 ----
  456. X***************
  457. X*** 1035,1040 ****
  458. X--- 1053,1067 ----
  459. X  E boolean FDECL(IS_FURNITURE, (unsigned));
  460. X  #endif /* STUPID_CPP */
  461. X  
  462. X+ /* ### random.c ### */
  463. X+ 
  464. X+ #ifdef RANDOM
  465. X+ E void FDECL(srandom, (unsigned));
  466. X+ E char * FDECL(initstate, (unsigned,char *,int));
  467. X+ E char * FDECL(setstate, (char *));
  468. X+ E long NDECL(random);
  469. X+ #endif /* RANDOM */
  470. X+ 
  471. X  /* ### read.c ### */
  472. X  
  473. X  E int NDECL(doread);
  474. X***************
  475. X*** 1123,1129 ****
  476. X--- 1150,1158 ----
  477. X  E void FDECL(replshk, (struct monst *,struct monst *));
  478. X  E int NDECL(inshop);
  479. X  E int FDECL(inhishop, (struct monst *));
  480. X+ #ifdef SOUNDS
  481. X  E boolean FDECL(tended_shop, (struct mkroom *));
  482. X+ #endif
  483. X  E void FDECL(obfree, (struct obj *,struct obj *));
  484. X  E int NDECL(dopay);
  485. X  E void FDECL(home_shk, (struct monst *));
  486. X***************
  487. X*** 1132,1137 ****
  488. X--- 1161,1167 ----
  489. X  E void FDECL(pay_for_door, (int,int,const char *));
  490. X  E void FDECL(addtobill, (struct obj *,BOOLEAN_P));
  491. X  E void FDECL(splitbill, (struct obj *,struct obj *));
  492. X+ E void FDECL(subfrombill, (struct obj *));
  493. X  E void FDECL(sellobj, (struct obj *));
  494. X  E int FDECL(doinvbill, (int));
  495. X  E int FDECL(shkcatch, (struct obj *));
  496. X***************
  497. X*** 1278,1283 ****
  498. X--- 1308,1314 ----
  499. X  E boolean FDECL(rust_dmg, (struct obj *,const char *,int,BOOLEAN_P));
  500. X  E struct trap *FDECL(maketrap, (int,int,int));
  501. X  E int FDECL(teleok, (int,int));
  502. X+ E void FDECL(fall_through, (BOOLEAN_P));
  503. X  E void FDECL(dotrap, (struct trap *));
  504. X  E int FDECL(mintrap, (struct monst *));
  505. X  E void FDECL(selftouch, (const char *));
  506. X***************
  507. X*** 1313,1320 ****
  508. X--- 1344,1353 ----
  509. X  E schar FDECL(find_roll_to_hit, (struct monst *));
  510. X  E boolean FDECL(attack, (struct monst *));
  511. X  E boolean FDECL(hmon, (struct monst *,struct obj *,int));
  512. X+ #ifdef POLYSELF
  513. X  E int FDECL(damageum, (struct monst *, struct attack *));
  514. X  E void FDECL(missum, (struct monst *, struct attack *));
  515. X+ #endif
  516. X  E int FDECL(passive, (struct monst *,BOOLEAN_P,int,BOOLEAN_P));
  517. X  E void FDECL(stumble_onto_mimic, (struct monst *));
  518. X  
  519. X***************
  520. X*** 1353,1362 ****
  521. X--- 1386,1398 ----
  522. X  
  523. X  /* ### vault.c ### */
  524. X  
  525. X+ E boolean FDECL(grddead, (struct monst *));
  526. X  E void NDECL(invault);
  527. X  E int FDECL(gd_move, (struct monst *));
  528. X  E void NDECL(paygd);
  529. X+ #ifdef SOUNDS
  530. X  E boolean NDECL(gd_sound);
  531. X+ #endif
  532. X  
  533. X  /* ### version.c ### */
  534. X  
  535. X*** include/Old/flag.h    Sun Jun  3 16:05:14 1990
  536. X--- include/flag.h    Wed May 23 17:54:55 1990
  537. X***************
  538. X*** 51,65 ****
  539. X      boolean  silent;    /* whether the bell rings or not */
  540. X      boolean  pickup;    /* whether you pickup or move and look */
  541. X      boolean  num_pad;    /* use numbers for movement commands */
  542. X  #ifdef TEXTCOLOR
  543. X      boolean  use_color;    /* use color graphics */
  544. X  #endif
  545. X  #ifdef DGK
  546. X      boolean  IBMBIOS;    /* whether we can use a BIOS call for
  547. X                   * redrawing the screen and character input */
  548. X- #ifdef DECRAINBOW
  549. X-     boolean  DECRainbow;    /* Used for DEC Rainbow graphics. */
  550. X- #endif
  551. X      boolean  rawio;        /* Whether can use rawio (IOCTL call) */
  552. X  #endif
  553. X  #ifdef MACOS
  554. X--- 51,68 ----
  555. X      boolean  silent;    /* whether the bell rings or not */
  556. X      boolean  pickup;    /* whether you pickup or move and look */
  557. X      boolean  num_pad;    /* use numbers for movement commands */
  558. X+     boolean  help;        /* look in data file for info about stuff */
  559. X+     boolean  IBMgraphics;    /* use IBM extended character set */
  560. X+     boolean  DECgraphics;    /* use DEC VT-xxx extended character set */
  561. X  #ifdef TEXTCOLOR
  562. X      boolean  use_color;    /* use color graphics */
  563. X  #endif
  564. X+ #ifdef AMIFLUSH
  565. X+     boolean amiflush;    /* kill typeahead */
  566. X+ #endif
  567. X  #ifdef DGK
  568. X      boolean  IBMBIOS;    /* whether we can use a BIOS call for
  569. X                   * redrawing the screen and character input */
  570. X      boolean  rawio;        /* Whether can use rawio (IOCTL call) */
  571. X  #endif
  572. X  #ifdef MACOS
  573. X*** include/Old/global.h    Sun Jun  3 16:05:36 1990
  574. X--- include/global.h    Wed May 23 17:58:10 1990
  575. X***************
  576. X*** 5,13 ****
  577. X  #ifndef GLOBAL_H
  578. X  #define    GLOBAL_H
  579. X  
  580. X! #ifndef VMS
  581. X! # include <stdio.h>
  582. X! #endif
  583. X  
  584. X  
  585. X  /* #define BETA        /* if a beta-test copy  [MRS] */
  586. X--- 5,11 ----
  587. X  #ifndef GLOBAL_H
  588. X  #define    GLOBAL_H
  589. X  
  590. X! #include <stdio.h>
  591. X  
  592. X  
  593. X  /* #define BETA        /* if a beta-test copy  [MRS] */
  594. X***************
  595. X*** 80,86 ****
  596. X   * prototypes for the ANSI compilers so people quit trying to fix the prototypes
  597. X   * to match the standard and thus lose the typechecking.
  598. X   */
  599. X! #if (defined(MSDOS) && !defined(TOS)) || defined (AMIGA) || defined(THINKC4)
  600. X  # define CHAR_P char
  601. X  # define SCHAR_P schar
  602. X  # define UCHAR_P uchar
  603. X--- 78,84 ----
  604. X   * prototypes for the ANSI compilers so people quit trying to fix the prototypes
  605. X   * to match the standard and thus lose the typechecking.
  606. X   */
  607. X! #if (defined(MSDOS) && !defined(TOS)) || defined (AMIGA) || defined(THINKC4) || defined(VAXC)
  608. X  # define CHAR_P char
  609. X  # define SCHAR_P schar
  610. X  # define UCHAR_P uchar
  611. X***************
  612. X*** 128,134 ****
  613. X  
  614. X  #if defined(VMS) && !defined(VMSCONF_H)
  615. X  # include "vmsconf.h"
  616. X- # include <stdio.h>
  617. X  #endif
  618. X  
  619. X  #if defined(UNIX) && !defined(UNIXCONF_H)
  620. X--- 126,131 ----
  621. X*** include/Old/hack.h    Sun Jun  3 16:05:58 1990
  622. X--- include/hack.h    Thu May 31 22:16:03 1990
  623. X***************
  624. X*** 124,151 ****
  625. X  #endif /* MSDOS */
  626. X  
  627. X  /* Macro for a few items that are only static if we're not overlaid.... */
  628. X! #if defined(OVERLAY) && (defined(OVL0) || defined(OVL1) || defined(OVL2) || defined(OVLB))
  629. X! # define OSTATIC extern
  630. X! # define XSTATIC
  631. X! # define OVERLAY_SPLIT
  632. X  # ifdef OVLB
  633. X! #  define VSTATIC
  634. X  # else
  635. X! #  define VSTATIC extern
  636. X  # endif
  637. X  #else
  638. X! # define OSTATIC static
  639. X! # define XSTATIC static
  640. X! # define VSTATIC static
  641. X  #endif
  642. X  
  643. X  /* Unless explicit control is being taken of what is linked where, */
  644. X  /* always compile everything */
  645. X! #if !defined(OVERLAY) || (!defined(OVL0) && !defined(OVL1) && !defined(OVL2) && !defined(OVLB))
  646. X! # define OVL0    /* Highest priority */
  647. X  # define OVL1
  648. X! # define OVL2    /* Lowest specified priority */
  649. X! # define OVLB    /* The base overlay segment */
  650. X  #endif
  651. X  
  652. X  #endif /* HACK_H /**/
  653. X--- 124,157 ----
  654. X  #endif /* MSDOS */
  655. X  
  656. X  /* Macro for a few items that are only static if we're not overlaid.... */
  657. X! #if defined(OVERLAY)
  658. X! # define STATIC_PTR
  659. X! #else
  660. X! # define STATIC_PTR static
  661. X! #endif
  662. X! 
  663. X! #if defined(OVERLAY) && (defined(OVL0) || defined(OVL1) || defined(OVL2) || defined(OVL3) || defined(OVLB))
  664. X! # define STATIC_DCL extern
  665. X! # define STATIC_OVL
  666. X  # ifdef OVLB
  667. X! #  define STATIC_VAR
  668. X  # else
  669. X! #  define STATIC_VAR extern
  670. X  # endif
  671. X  #else
  672. X! # define STATIC_DCL static
  673. X! # define STATIC_OVL static
  674. X! # define STATIC_VAR static
  675. X  #endif
  676. X  
  677. X  /* Unless explicit control is being taken of what is linked where, */
  678. X  /* always compile everything */
  679. X! #if !defined(OVERLAY) || (!defined(OVL0) && !defined(OVL1) && !defined(OVL2) && !defined(OVL3) && !defined(OVLB))
  680. X! # define OVL0  /* Highest priority */
  681. X  # define OVL1
  682. X! # define OVL2
  683. X! # define OVL3  /* Lowest specified priority */
  684. X! # define OVLB  /* The base overlay segment */
  685. X  #endif
  686. X  
  687. X  #endif /* HACK_H /**/
  688. X*** include/Old/macconf.h    Sun Jun  3 16:06:29 1990
  689. X--- include/macconf.h    Tue May  8 19:53:45 1990
  690. X***************
  691. X*** 64,70 ****
  692. X  #include    <Stdlib.h>
  693. X  #include    <String.h>
  694. X  #undef getuid
  695. X! #if !defined(MAKEDEFS_C) && !defined(LEV_LEX_C)
  696. X  #ifdef stdout
  697. X  #undef stdout
  698. X  #define stdout (FILE *)NULL
  699. X--- 64,70 ----
  700. X  #include    <Stdlib.h>
  701. X  #include    <String.h>
  702. X  #undef getuid
  703. X! #ifdef CUSTOM_IO
  704. X  #ifdef stdout
  705. X  #undef stdout
  706. X  #define stdout (FILE *)NULL
  707. X***************
  708. X*** 144,149 ****
  709. X--- 144,152 ----
  710. X      short    ascent,descent,height,charWidth;
  711. X      short    maxRow,maxCol;
  712. X      char    **screen;
  713. X+     char    **scrAttr;
  714. X+     char    curHilite;
  715. X+     char    curAttr;
  716. X      short    inColor;
  717. X      short    auxFileVRefNum;
  718. X      short    recordVRefNum;
  719. X***************
  720. X*** 150,156 ****
  721. X      SysEnvRec    system;
  722. X      char    *keyMap;
  723. X      short    color[8];
  724. X!     CursHandle    cursor[8];
  725. X      Handle    shortMBarHandle,
  726. X              fullMBarHandle;
  727. X  } term_info;
  728. X--- 153,159 ----
  729. X      SysEnvRec    system;
  730. X      char    *keyMap;
  731. X      short    color[8];
  732. X!     CursHandle    cursor[9];  /* self-contained cursors */
  733. X      Handle    shortMBarHandle,
  734. X              fullMBarHandle;
  735. X  } term_info;
  736. X***************
  737. X*** 182,191 ****
  738. X  #define    LEFT_OFFSET    10
  739. X  
  740. X  /* for macflags variable */
  741. X- #define    fScreenKluges        0x3000
  742. X- #define    fFullScrKluge        0x2000
  743. X- #define    fCornScrKluge        0x1000
  744. X- #define    fDisplayKluge        0x800
  745. X  #define    fMoveWRTMouse        0x400
  746. X  #define    fZoomOnContextSwitch        0x200
  747. X  #define    fUseCustomFont        0x100
  748. X--- 185,190 ----
  749. X***************
  750. X*** 194,200 ****
  751. X  #define    fExtCmdSeq1            0x20
  752. X  #define    fExtCmdSeq2            0x10
  753. X  #define    fExtCmdSeq3            0x08
  754. X! #define    fDoNonKeyEvt        0x02
  755. X  #define    fDoUpdate            0x01
  756. X  
  757. X  
  758. X--- 193,200 ----
  759. X  #define    fExtCmdSeq1            0x20
  760. X  #define    fExtCmdSeq2            0x10
  761. X  #define    fExtCmdSeq3            0x08
  762. X! #define    fDoNonKeyEvt        0x06
  763. X! #define    fDoMenus        0x02
  764. X  #define    fDoUpdate            0x01
  765. X  
  766. X  
  767. X***************
  768. X*** 209,214 ****
  769. X--- 209,222 ----
  770. X  #define MONST_DATA    101
  771. X  #define OBJECT_DATA    104
  772. X  #define    DEFAULT_DATA    100
  773. X+ 
  774. X+ #define SEG_ZAP        0x0020
  775. X+ #define SEG_SPELL    0x0010
  776. X+ #define SEG_POTION    0x0008
  777. X+ #define SEG_EAT        0x0004
  778. X+ #define SEG_DO        0x0002
  779. X+ #define SEG_APPLY    0x0001
  780. X+ extern long segments;    /* defined in mac.c */
  781. X  
  782. X  #include "extern.h"
  783. X  
  784. X*** include/Old/obj.h    Sun Jun  3 16:08:03 1990
  785. X--- include/obj.h    Sun Feb 25 14:43:57 1990
  786. X***************
  787. X*** 92,98 ****
  788. X  #define Is_mbag(otmp)    (otmp->otyp == BAG_OF_HOLDING || otmp->otyp == BAG_OF_TRICKS)
  789. X  
  790. X  #define is_sword(otmp)    (otmp->otyp >= SHORT_SWORD && otmp->otyp <= KATANA)
  791. X! #define bimanual(otmp)    (otmp->olet == WEAPON_SYM && objects[otmp->otyp].oc_bimanual)
  792. X  
  793. X  #define is_rustprone(otmp)    (objects[otmp->otyp].oc_material == METAL)
  794. X  #define is_corrodeable(otmp)    (objects[otmp->otyp].oc_material == COPPER)
  795. X--- 92,98 ----
  796. X  #define Is_mbag(otmp)    (otmp->otyp == BAG_OF_HOLDING || otmp->otyp == BAG_OF_TRICKS)
  797. X  
  798. X  #define is_sword(otmp)    (otmp->otyp >= SHORT_SWORD && otmp->otyp <= KATANA)
  799. X! #define bimanual(otmp)    ((otmp->olet == WEAPON_SYM || otmp->otyp == UNICORN_HORN) && objects[otmp->otyp].oc_bimanual)
  800. X  
  801. X  #define is_rustprone(otmp)    (objects[otmp->otyp].oc_material == METAL)
  802. X  #define is_corrodeable(otmp)    (objects[otmp->otyp].oc_material == COPPER)
  803. X*** include/Old/objclass.h    Sun Jun  3 16:08:15 1990
  804. X--- include/objclass.h    Fri Apr 13 19:22:25 1990
  805. X***************
  806. X*** 73,79 ****
  807. X  extern struct small_objclass sm_obj[];
  808. X  extern struct objclass *objects;
  809. X  #else
  810. X! extern struct objclass objects[];
  811. X  #endif    /* MACOS && !MAKEDEFS_C */
  812. X  
  813. X  /* definitions of all object-symbols */
  814. X--- 73,79 ----
  815. X  extern struct small_objclass sm_obj[];
  816. X  extern struct objclass *objects;
  817. X  #else
  818. X! extern struct objclass NEARDATA objects[];
  819. X  #endif    /* MACOS && !MAKEDEFS_C */
  820. X  
  821. X  /* definitions of all object-symbols */
  822. X*** include/Old/patchlevel.h    Sun Jun  3 16:08:27 1990
  823. X--- include/patchlevel.h    Sun Jun  3 15:57:05 1990
  824. X***************
  825. X*** 84,87 ****
  826. X   *  and the usual bug fixes and hole plugs
  827. X   */
  828. X  
  829. X! #define PATCHLEVEL    7
  830. X--- 84,100 ----
  831. X   *  and the usual bug fixes and hole plugs
  832. X   */
  833. X  
  834. X! /*
  835. X!  *  Patch 8, June 3, 1990
  836. X!  *  further debug and refine Macintosh port
  837. X!  *  refine the overlay manager, rearrange the OVLx breakdown for better
  838. X!  *    efficiency, rename the overlay macros, and split off the overlay
  839. X!  *    instructions to Install.ovl
  840. X!  *  introduce NEARDATA for better Amiga efficiency
  841. X!  *  support for more VMS versions (courtesy Joshua Delahunty and Pat Rankin)
  842. X!  *  more const fixes
  843. X!  *  better support for common graphics (DEC VT and IBM)
  844. X!  *  and a number of simple fixes and consistency extensions
  845. X!  */
  846. X! 
  847. X! #define PATCHLEVEL    8
  848. X*** include/Old/pcconf.h    Sun Jun  3 16:08:39 1990
  849. X--- include/pcconf.h    Wed May 23 17:54:59 1990
  850. X***************
  851. X*** 42,50 ****
  852. X  extern const char *configfile;
  853. X  
  854. X  #ifdef DGK
  855. X- /*    Selectable DGK options:
  856. X-  */
  857. X- /*#define DECRAINBOW    /* enable use of DEC Rainbow graphics */
  858. X  
  859. X  /*    Non-Selectable DGK options:
  860. X   */
  861. X--- 42,47 ----
  862. X*** include/Old/permonst.h    Sun Jun  3 16:08:50 1990
  863. X--- include/permonst.h    Mon Mar  5 19:21:52 1990
  864. X***************
  865. X*** 61,69 ****
  866. X  #if defined(SMALLDATA) && !defined(MAKEDEFS_C)
  867. X              *mons;
  868. X  #else
  869. X!             mons[];        /* the master list of monster types */
  870. X  #endif
  871. X! extern struct permonst playermon, *uasmon;    /* you in the same terms */
  872. X  
  873. X  #if defined(SMALLDATA) && defined(MAKEDEFS_C)
  874. X  
  875. X--- 61,70 ----
  876. X  #if defined(SMALLDATA) && !defined(MAKEDEFS_C)
  877. X              *mons;
  878. X  #else
  879. X!     NEARDATA    mons[];        /* the master list of monster types */
  880. X  #endif
  881. X! extern struct permonst NEARDATA playermon, NEARDATA *uasmon;
  882. X!                         /* you in the same terms */
  883. X  
  884. X  #if defined(SMALLDATA) && defined(MAKEDEFS_C)
  885. X  
  886. X*** include/Old/system.h    Sun Jun  3 16:09:43 1990
  887. X--- include/system.h    Tue May  8 19:53:04 1990
  888. X***************
  889. X*** 10,18 ****
  890. X--- 10,22 ----
  891. X  /* some old <sys/types.h> may not define off_t and size_t; if your system is
  892. X   * one of these, define them by hand below
  893. X   */
  894. X+ #ifndef VAXC
  895. X  #if !defined(THINKC4) && !defined(AMIGA) && !defined(MACOS)
  896. X  # include <sys/types.h>
  897. X  #endif
  898. X+ #else   /*VAXC*/
  899. X+ #include <types.h>
  900. X+ #endif  /*VAXC*/
  901. X  
  902. X  #if defined(TOS) && defined(__GNUC__) && !defined(_SIZE_T)
  903. X  # define _SIZE_T
  904. X***************
  905. X*** 21,27 ****
  906. X--- 25,33 ----
  907. X  #if defined(MSDOS) || ((defined(AMIGA) || defined(MACOS)) && !defined(THINKC4))
  908. X  # ifndef _SIZE_T
  909. X  #  define _SIZE_T
  910. X+ #  if !(defined(MSDOS) && defined(_SIZE_T_DEFINED)) /* MSC 5.1 */
  911. X  typedef unsigned int    size_t;
  912. X+ #  endif
  913. X  # endif
  914. X  #endif
  915. X  
  916. X***************
  917. X*** 63,69 ****
  918. X  E void FDECL(exit, (int));
  919. X  # endif /* MSDOS */
  920. X  E void FDECL(free, (genericptr_t));
  921. X! # ifdef AMIGA
  922. X  E int FDECL(perror, (const char *));
  923. X  # else
  924. X  #  ifndef MACOS
  925. X--- 69,75 ----
  926. X  E void FDECL(exit, (int));
  927. X  # endif /* MSDOS */
  928. X  E void FDECL(free, (genericptr_t));
  929. X! # if defined(AMIGA) && !defined(AZTEC_50)
  930. X  E int FDECL(perror, (const char *));
  931. X  # else
  932. X  #  ifndef MACOS
  933. X***************
  934. X*** 79,84 ****
  935. X--- 85,91 ----
  936. X  # endif
  937. X  #endif
  938. X  
  939. X+ #ifndef AZTEC_50    /* Already defined in include files */
  940. X  #ifdef ULTRIX
  941. X  E long FDECL(lseek, (int,off_t,int));
  942. X    /* Ultrix 3.0 man page mistakenly says it returns an int. */
  943. X***************
  944. X*** 99,104 ****
  945. X--- 106,112 ----
  946. X  E int FDECL(chdir, (char *));
  947. X  E char *FDECL(getcwd, (char *,int));
  948. X  #endif
  949. X+ #endif  /* AZTEC_50 */
  950. X  
  951. X  #ifdef TOS
  952. X  E int FDECL(creat, (const char *, int));
  953. X***************
  954. X*** 207,213 ****
  955. X  # define OLD_SPRINTF
  956. X  E char *sprintf();
  957. X  #else
  958. X! # ifndef TOS    /* problem with prototype mismatches with <stdio.h> */
  959. X  E int FDECL(sprintf, (char *,const char *,...));
  960. X  # endif
  961. X  #endif
  962. X--- 215,221 ----
  963. X  # define OLD_SPRINTF
  964. X  E char *sprintf();
  965. X  #else
  966. X! # if !defined(TOS) && !defined(AZTEC_50) /* problem with prototype mismatches */
  967. X  E int FDECL(sprintf, (char *,const char *,...));
  968. X  # endif
  969. X  #endif
  970. X***************
  971. X*** 273,279 ****
  972. X  E struct tm *FDECL(localtime, (const time_t *));
  973. X  # endif
  974. X  
  975. X! # if defined(ULTRIX) || defined(SYSV) || defined(MSDOS)
  976. X  E time_t FDECL(time, (time_t *));
  977. X  # else
  978. X  E long FDECL(time, (time_t *));
  979. X--- 281,287 ----
  980. X  E struct tm *FDECL(localtime, (const time_t *));
  981. X  # endif
  982. X  
  983. X! # if defined(ULTRIX) || defined(SYSV) || defined(MSDOS) || defined(VMS)
  984. X  E time_t FDECL(time, (time_t *));
  985. X  # else
  986. X  E long FDECL(time, (time_t *));
  987. X*** include/Old/termcap.h    Sun Jun  3 16:09:58 1990
  988. X--- include/termcap.h    Wed May 23 17:56:51 1990
  989. X***************
  990. X*** 12,19 ****
  991. X  
  992. X  /* might display need graphics code? */
  993. X  #if !defined(AMIGA) && !defined(TOS) && !defined(MACOS)
  994. X! # if defined(TERMLIB) || defined(DECRAINBOW) || defined(OS2)
  995. X  #  define ASCIIGRAPH
  996. X-    extern boolean IBMgraphics;      /* does terminal use IBM extended ASCII? */
  997. X  # endif
  998. X  #endif
  999. X--- 12,18 ----
  1000. X  
  1001. X  /* might display need graphics code? */
  1002. X  #if !defined(AMIGA) && !defined(TOS) && !defined(MACOS)
  1003. X! # if defined(TERMLIB) || defined(OS2)
  1004. X  #  define ASCIIGRAPH
  1005. X  # endif
  1006. X  #endif
  1007. X*** include/Old/tradstdc.h    Sun Jun  3 16:10:20 1990
  1008. X--- include/tradstdc.h    Fri May 18 18:39:44 1990
  1009. X***************
  1010. X*** 32,39 ****
  1011. X  /* #define USE_VARARGS        /* use <varargs.h> instead of <stdarg.h> */
  1012. X  /* #define USE_OLDARGS        /* don't use any variable argument facilites */
  1013. X  
  1014. X! #if defined(__STDC__) || defined(VMS)
  1015. X! # if !(defined(AMIGA) && defined(AZTEC_C) || defined(USE_VARARGS) || defined(USE_OLDARGS))
  1016. X  #   define USE_STDARG
  1017. X  # endif
  1018. X  #endif
  1019. X--- 32,42 ----
  1020. X  /* #define USE_VARARGS        /* use <varargs.h> instead of <stdarg.h> */
  1021. X  /* #define USE_OLDARGS        /* don't use any variable argument facilites */
  1022. X  
  1023. X! #ifdef __STDC__
  1024. X! # if defined(__GNUC__) && defined(VMS)
  1025. X! #   define USE_OLDARGS          /* <stdarg.h> is missing for some versions */
  1026. X! # endif
  1027. X! # if !defined(USE_VARARGS) && !defined(USE_OLDARGS)
  1028. X  #   define USE_STDARG
  1029. X  # endif
  1030. X  #endif
  1031. X***************
  1032. X*** 76,82 ****
  1033. X  #endif /* NEED_VARARGS */
  1034. X  
  1035. X  
  1036. X! #if defined(__STDC__) || defined(MSDOS) || defined(THINKC4)
  1037. X  
  1038. X  /* Used for robust ANSI parameter forward declarations:
  1039. X   * int VDECL(sprintf, (char *, const char *, ...));
  1040. X--- 79,86 ----
  1041. X  #endif /* NEED_VARARGS */
  1042. X  
  1043. X  
  1044. X! /* Unfortunately amiga aztec 5.0 doesn't handle prototyping chars correctly */
  1045. X! #if (defined(__STDC__) && !defined(AZTEC_50)) || defined(MSDOS) || defined(THINKC4)
  1046. X  
  1047. X  /* Used for robust ANSI parameter forward declarations:
  1048. X   * int VDECL(sprintf, (char *, const char *, ...));
  1049. X***************
  1050. X*** 124,132 ****
  1051. X--- 128,138 ----
  1052. X  #  endif
  1053. X  # endif
  1054. X  
  1055. X+ #ifndef AZTEC_50    /* Take out when aztec handles prototyping OK */
  1056. X  # define const
  1057. X  # define signed
  1058. X  # define volatile
  1059. X+ #endif
  1060. X  
  1061. X  #endif /* __STDC__ */
  1062. X  
  1063. X*** include/Old/trampoli.h    Sun Jun  3 16:10:34 1990
  1064. X--- include/trampoli.h    Thu May 31 22:12:50 1990
  1065. X***************
  1066. X*** 1,4 ****
  1067. X! /*    SCCS Id: @(#)trampoli.h     3.0    89/11/15      */
  1068. X  /* Copyright (c) 1989, by Norm Meluch and Stephen Spackman      */
  1069. X  /* NetHack may be freely redistributed.  See license for details. */
  1070. X  
  1071. X--- 1,4 ----
  1072. X! /*    SCCS Id: @(#)trampoli.h     3.0    90/05/31      */
  1073. X  /* Copyright (c) 1989, by Norm Meluch and Stephen Spackman      */
  1074. X  /* NetHack may be freely redistributed.  See license for details. */
  1075. X  
  1076. X***************
  1077. X*** 90,97 ****
  1078. X  
  1079. X  
  1080. X  /* ### end.c ### */
  1081. X! #define done1() done1_()
  1082. X! #define done2() done2_()
  1083. X  
  1084. X  
  1085. X  /* ### engrave.c ### */
  1086. X--- 90,102 ----
  1087. X  
  1088. X  
  1089. X  /* ### end.c ### */
  1090. X! #define done1()     done1_()
  1091. X! #define done2()     done2_()
  1092. X! #define hangup()    hangup_()
  1093. X! #define done_intr() done_intr_()
  1094. X! #if defined(UNIX) || defined (VMS)
  1095. X! #define done_hangup() done_hangup_()
  1096. X! #endif /* UNIX || VMS */
  1097. X  
  1098. X  
  1099. X  /* ### engrave.c ### */
  1100. X***************
  1101. X*** 117,129 ****
  1102. X  
  1103. X  
  1104. X  /* ### ioctl.c ### */
  1105. X- /*
  1106. X  #ifdef UNIX
  1107. X! #ifdef SUSPEND
  1108. X  #define dosuspend() dosuspend_()
  1109. X! #endif
  1110. X! #endif
  1111. X! */
  1112. X  
  1113. X  
  1114. X  /* ### lock.c ### */
  1115. X--- 122,132 ----
  1116. X  
  1117. X  
  1118. X  /* ### ioctl.c ### */
  1119. X  #ifdef UNIX
  1120. X! # ifdef SUSPEND
  1121. X  #define dosuspend() dosuspend_()
  1122. X! # endif /* SUSPEND */
  1123. X! #endif /* UNIX */
  1124. X  
  1125. X  
  1126. X  /* ### lock.c ### */
  1127. X***************
  1128. X*** 134,141 ****
  1129. X  #define picklock()  picklock_()
  1130. X  
  1131. X  
  1132. X  /* ### mondata.c ### */
  1133. X! #define canseemon(x)    canseemon_(x)
  1134. X  
  1135. X  
  1136. X  /* ### o_init.c ### */
  1137. X--- 137,149 ----
  1138. X  #define picklock()  picklock_()
  1139. X  
  1140. X  
  1141. X+ /* ### mklev.c ### */
  1142. X+ #define comp(x, y)  comp_(x, y)
  1143. X+ 
  1144. X+ 
  1145. X  /* ### mondata.c ### */
  1146. X! /* See comment in trampoli.c before uncommenting canseemon. */
  1147. X! /* #define canseemon(x)    canseemon_(x) */
  1148. X  
  1149. X  
  1150. X  /* ### o_init.c ### */
  1151. X***************
  1152. X*** 155,164 ****
  1153. X  #define dohelp()     dohelp_()
  1154. X  #define dohistory()  dohistory_()
  1155. X  #ifdef UNIX
  1156. X! #ifdef SHELL
  1157. X  #define dosh()       dosh_()
  1158. X! #endif
  1159. X! #endif
  1160. X  #define dowhatdoes() dowhatdoes_()
  1161. X  #define dowhatis()   dowhatis_()
  1162. X  
  1163. X--- 163,173 ----
  1164. X  #define dohelp()     dohelp_()
  1165. X  #define dohistory()  dohistory_()
  1166. X  #ifdef UNIX
  1167. X! #define intruph()    intruph_()
  1168. X! # ifdef SHELL
  1169. X  #define dosh()       dosh_()
  1170. X! # endif /* SHELL */
  1171. X! #endif /* UNIX */
  1172. X  #define dowhatdoes() dowhatdoes_()
  1173. X  #define dowhatis()   dowhatis_()
  1174. X  
  1175. X***************
  1176. X*** 215,221 ****
  1177. X  
  1178. X  /* ### spell.c ### */
  1179. X  #ifdef SPELLS
  1180. X! #define learn()    learn_()
  1181. X  #define docast()   docast_()
  1182. X  #define dovspell() dovspell_()
  1183. X  #endif
  1184. X--- 224,230 ----
  1185. X  
  1186. X  /* ### spell.c ### */
  1187. X  #ifdef SPELLS
  1188. X! #define learn()    learn_()
  1189. X  #define docast()   docast_()
  1190. X  #define dovspell() dovspell_()
  1191. X  #endif
  1192. X***************
  1193. X*** 234,240 ****
  1194. X  #define float_down() float_down_()
  1195. X  
  1196. X  /* ### version.c ### */
  1197. X! #define doversion() doversion_()
  1198. X  #define doextversion() doextversion_()
  1199. X  
  1200. X  /* ### wield.c ### */
  1201. X--- 243,249 ----
  1202. X  #define float_down() float_down_()
  1203. X  
  1204. X  /* ### version.c ### */
  1205. X! #define doversion()    doversion_()
  1206. X  #define doextversion() doextversion_()
  1207. X  
  1208. X  /* ### wield.c ### */
  1209. X*** include/Old/unixconf.h    Sun Jun  3 16:10:58 1990
  1210. X--- include/unixconf.h    Tue May  8 19:53:42 1990
  1211. X***************
  1212. X*** 45,50 ****
  1213. X--- 45,51 ----
  1214. X  /* #define MICROPORT_286_BUG /* Changes needed in termcap.c to get it to
  1215. X                 run with Microport Sys V/AT version 2.4.
  1216. X                 By Jay Maynard */
  1217. X+ /* #define AIXPS_2BUG    /* avoid a problem with little_to_big() optimization */
  1218. X  
  1219. X  /* #define RANDOM    /* if neither random/srandom nor lrand48/srand48
  1220. X                 is available from your system */
  1221. X*** include/Old/vmsconf.h    Sun Jun  3 16:11:21 1990
  1222. X--- include/vmsconf.h    Fri May 18 18:39:50 1990
  1223. X***************
  1224. X*** 6,19 ****
  1225. X  #ifndef VMSCONF_H
  1226. X  #define VMSCONF_H
  1227. X  
  1228. X! #undef UNIX
  1229. X! #undef HACKDIR
  1230. X! #define HACKDIR    "USR$ROOT0:[GENTZEL.NHDIR]"
  1231. X  #undef RECORD
  1232. X  #define RECORD "record;1"
  1233. X  
  1234. X! #undef COMPRESS
  1235. X! #undef ZEROCOMP
  1236. X  
  1237. X  /*
  1238. X   * If you define MAIL, then the player will be notified of new broadcasts
  1239. X--- 6,56 ----
  1240. X  #ifndef VMSCONF_H
  1241. X  #define VMSCONF_H
  1242. X  
  1243. X! /*
  1244. X!  * Edit these to choose values appropriate for your site.
  1245. X!  * WIZARD is the username allowed to use the debug option of nethack; no harm
  1246. X!  *   is done by leaving it as a username that doesn't exist at your site.
  1247. X!  * HACKDIR can be overridden at run-time with the logical name HACKDIR, as in
  1248. X!  *   $ define hackdir disk$users:[games.nethack]
  1249. X!  */
  1250. X! #define Local_WIZARD    "GENTZEL"               /*(must be uppercase)*/
  1251. X! #define Local_HACKDIR   "USR$ROOT0:[GENTZEL.NHDIR]"
  1252. X! 
  1253. X! /*
  1254. X!  * This section cleans up the stuff done in config.h so that it
  1255. X!  * shouldn't need to be modified.  It's conservative so that if
  1256. X!  * config.h is actually edited, the changes won't impact us.
  1257. X!  */
  1258. X! #ifdef UNIX
  1259. X! # undef UNIX
  1260. X! #endif
  1261. X! #ifdef HACKDIR
  1262. X! # undef HACKDIR
  1263. X! #endif
  1264. X! #ifdef WIZARD
  1265. X! # undef WIZARD
  1266. X! #endif
  1267. X! #ifdef WIZARD_NAME
  1268. X! # undef WIZARD_NAME
  1269. X! #endif
  1270. X! #define HACKDIR Local_HACKDIR
  1271. X! #ifndef KR1ED
  1272. X! # define WIZARD Local_WIZARD
  1273. X! # define WIZARD_NAME WIZARD
  1274. X! #else
  1275. X! # define WIZARD 1
  1276. X! # define WIZARD_NAME Local_WIZARD
  1277. X! #endif
  1278. X! 
  1279. X  #undef RECORD
  1280. X  #define RECORD "record;1"
  1281. X  
  1282. X! #ifdef COMPRESS
  1283. X! # undef COMPRESS
  1284. X! #endif
  1285. X! #ifdef ZEROCOMP
  1286. X! # undef ZEROCOMP
  1287. X! #endif
  1288. X  
  1289. X  /*
  1290. X   * If you define MAIL, then the player will be notified of new broadcasts
  1291. X***************
  1292. X*** 21,31 ****
  1293. X   */
  1294. X  #define    MAIL
  1295. X  
  1296. X! #define RANDOM        /* if neither random/srandom nor lrand48/srand48
  1297. X!                is available from your system */
  1298. X  
  1299. X  #define    FCMASK    0660    /* file creation mask */
  1300. X  
  1301. X  
  1302. X  /*
  1303. X   * The remainder of the file should not need to be changed.
  1304. X--- 58,80 ----
  1305. X   */
  1306. X  #define    MAIL
  1307. X  
  1308. X! #define RANDOM          /* use others/random.c instead of vaxcrtl rand/srand */
  1309. X  
  1310. X  #define    FCMASK    0660    /* file creation mask */
  1311. X  
  1312. X+ /* vaxcrtl object library is not available on MicroVMS (4.4 thru 4.6(.7?))
  1313. X+    unless it's retreived from a full VMS system or leftover from a really
  1314. X+    ancient version of VAXC.  #define no_c$$translate and also create a
  1315. X+    linker options file called vaxcrtl.opt containing one line
  1316. X+ sys$share:vaxcrtl/shareable
  1317. X+    to link against the vaxcrtl shareable image.  Then include ',vaxcrtl/opt'
  1318. X+    on the link command instead of either ',sys$library:vaxcrtl/lib' or
  1319. X+    '$ define lnk$library sys$library:vaxcrtl'
  1320. X+    Linking against the vaxcrtl sharable image is encouraged and will result
  1321. X+    in significantly smaller .EXE files.  The routine C$$TRANSLATE (used in
  1322. X+    vmsunix.c) is not available from the sharable image version of vaxcrtl.
  1323. X+  */
  1324. X+ /* #define no_c$$translate /**/
  1325. X  
  1326. X  /*
  1327. X   * The remainder of the file should not need to be changed.
  1328. X***************
  1329. X*** 35,40 ****
  1330. X--- 84,97 ----
  1331. X     Until it is fixed, eliminate const. */
  1332. X  #ifdef __GNUC__
  1333. X  # define const
  1334. X+ #endif
  1335. X+ #if defined(VAXC) && !defined(ANCIENT_VAXC)
  1336. X+ # ifdef volatile
  1337. X+ #  undef volatile
  1338. X+ # endif
  1339. X+ # ifdef const
  1340. X+ #  undef const
  1341. X+ # endif
  1342. X  #endif
  1343. X  
  1344. X  #include <time.h>
  1345. X*** include/Old/you.h    Sun Jun  3 16:11:42 1990
  1346. X--- include/you.h    Mon May 28 09:38:45 1990
  1347. X***************
  1348. X*** 40,46 ****
  1349. X  
  1350. X  
  1351. X      long p_flgs;
  1352. X!     int (*p_tofn)();    /* called after timeout */
  1353. X  };
  1354. X  
  1355. X  struct you {
  1356. X--- 40,46 ----
  1357. X  
  1358. X  
  1359. X      long p_flgs;
  1360. X!     int NDECL((*p_tofn));    /* called after timeout */
  1361. X  };
  1362. X  
  1363. X  struct you {
  1364. X*** auxil/Old/rumors.tru    Sun Jun  3 09:41:23 1990
  1365. X--- auxil/rumors.tru    Fri Apr 13 18:48:13 1990
  1366. X***************
  1367. X*** 143,159 ****
  1368. X--- 143,164 ----
  1369. X  There is no harm in praising a large dog.
  1370. X  There is nothing like eating a mimic.
  1371. X  They say a gelatinous cube can paralyze you...
  1372. X+ They say that Jubilex is afraid of a wand of digging.
  1373. X  They say that Medusa would like to put you on a pedestal.
  1374. X  They say that Vlad lives!!! ... in the mazes.
  1375. X+ They say that `Elbereth' is often written about.
  1376. X  They say that a bag of holding can't hold everything.
  1377. X  They say that a blessed tin of quasit meat is a quick meal.
  1378. X  They say that a cat avoids traps.
  1379. X+ They say that a cave spider will occasionally eat cave spider eggs.
  1380. X  They say that a clever wizard can have stats:  18/** 24 18 24 24 24.
  1381. X+ They say that a clove of garlic makes a good talisman if handled right.
  1382. X  They say that a cursed scroll of teleportation could land you in trouble.
  1383. X  They say that a diamond is another kind of luck stone.
  1384. X  They say that a dog can be trained to fetch objects.
  1385. X  They say that a gelatinous cube makes a healthy breakfast.
  1386. X  They say that a giant gets strong by eating right, try it!
  1387. X+ They say that a grid bug won't hit you when you cross it.
  1388. X  They say that a lembas wafer is a very light snack.
  1389. X  They say that a loadstone has a strange attraction and is not bad luck.
  1390. X  They say that a lock pick by any other name is still a lock pick.
  1391. X***************
  1392. X*** 163,198 ****
  1393. X--- 168,226 ----
  1394. X  They say that a polymorph trap is magic and magic protection prevents it.
  1395. X  They say that a potion of healing can cancel a potion of sickness.
  1396. X  They say that a potion of monster detection sometimes works both ways.
  1397. X+ They say that a sink looks different from high above the floor.
  1398. X  They say that a summoned demon could improve your game.
  1399. X+ They say that a tin of wraith meat is a rare dining experience.
  1400. X  They say that a unicorn might bring you luck.
  1401. X  They say that a wand of cancellation is like a wand of polymorph.
  1402. X+ They say that a wand of locking can close more than just doors.
  1403. X  They say that a wand of polymorph can change your game.
  1404. X  They say that a wizard is even more powerful the second time around.
  1405. X  They say that a xorn knows of no obstacles when pursuing you.
  1406. X  They say that abusing a credit card could shock you sooner or later.
  1407. X  They say that after drinking booze you should never try to read scrolls.
  1408. X+ They say that amulets, like most things, can be deadly or life saving.
  1409. X  They say that an altar can identify blessings.
  1410. X  They say that an ooze will bite your boots and a rockmole will eat them.
  1411. X+ They say that an unlucky hacker was once killed by an exploding tin.
  1412. X  They say that antique dealers are always interested in precious stones.
  1413. X+ They say that booze can be diluted but not cancelled.
  1414. X+ They say that by listening carefully, you can hear a secret door!
  1415. X+ They say that carrots and carrot juice may improve your vision.
  1416. X  They say that cave spiders are not considered expensive health food.
  1417. X+ They say that demigods must leave behind their prized earthly possessions.
  1418. X+ They say that disturbing a djinni can be a costly mistake.
  1419. X+ They say that dropping coins into a fountain will not grant you a wish.
  1420. X  They say that dwarves lawfully mind their own business.
  1421. X  They say that eating a bat corpse will make you batty, for awhile.
  1422. X  They say that eating a cram ration is a smart move.
  1423. X+ They say that eating blue jelly is cool if you don't fight the feeling.
  1424. X  They say that escaping a dungeon is only the beginning of the end.
  1425. X  They say that feeling an unexpected draft of air is sort of a breakthrough.
  1426. X  They say that finding a cursed gray stone is always bad luck.
  1427. X+ They say that for a good time engrave `Elbereth'.
  1428. X  They say that gaining a level is an experience that can raise your sights.
  1429. X  They say that garter snake meat rarely tastes good but it's still healthy.
  1430. X+ They say that gauntlets of dexterity have a hidden enchanted touch.
  1431. X  They say that going to heaven is just another way of escaping the dungeon.
  1432. X  They say that golden nagas are law-abiding denizens as long as you are too.
  1433. X  They say that gremlins can make you feel cooler than you are now.
  1434. X  They say that grid bugs only exist in a strictly Cartesian sense.
  1435. X+ They say that hackers often feel jumpy about eating nymphs.
  1436. X  They say that having polymorph control won't shock you.
  1437. X+ They say that hell hath no fury like Medusa scorned.
  1438. X+ They say that if it's hard getting your food down another bite could kill.
  1439. X+ They say that if you don't wear glasses why bother with carrots?
  1440. X  They say that if you notice a loose board beneath you, don't step on it.
  1441. X+ They say that if you start at the bottom the only place to go is up.
  1442. X+ They say that if you teleport to heaven you're presumed to be dead already.
  1443. X+ They say that in a shop you can be charged for old charges.
  1444. X+ They say that in lighter moments you could think of ways to pass a stone.
  1445. X  They say that in the dungeon breaking a mirror can be seven years bad luck.
  1446. X  They say that in the dungeon you don't usually have any luck at all.
  1447. X  They say that in time a blessed luckstone can make your god happy.
  1448. X  They say that it is easier to kill the Wizard than to make him stand still.
  1449. X+ They say that it only takes 1 zorkmid to meet the Kops.
  1450. X  They say that it's a blast when you mix the right potions together.
  1451. X  They say that it's not blind luck if you catch a glimpse of Medusa.
  1452. X  They say that killing a shopkeeper brings bad luck.
  1453. X***************
  1454. X*** 202,242 ****
  1455. X--- 230,295 ----
  1456. X  They say that naturally a wand of wishing would be heavily guarded.
  1457. X  They say that no one notices the junk underneath a boulder.
  1458. X  They say that nobody expects a unicorn horn to rust.
  1459. X+ They say that nobody knows if an explorer can live forever.  Do you?
  1460. X  They say that nothing can change the fact that some potions contain a djinni.
  1461. X  They say that nothing can change the fact that some potions contain a ghost.
  1462. X+ They say that nymphs always fall for rock'n'roll, try it!
  1463. X+ They say that once an Olog-Hai is canned it never shows its face again.
  1464. X  They say that once upon a time xans would never scratch your boots.
  1465. X+ They say that only an experienced wizard can do the tengu shuffle.
  1466. X  They say that only chaotics can kill shopkeepers and get away with it.
  1467. X+ They say that playing a horn really bad is really good.
  1468. X  They say that rubbing a glowing potion does not make it a magic lamp.
  1469. X+ They say that scalpels become dull because they're not athames.
  1470. X  They say that shopkeepers don't mind you bringing your pets in the shop.
  1471. X  They say that shopkeepers don't usually mind if you sneak into a shop.
  1472. X  They say that shopkeepers often have a large amount of money in their purses.
  1473. X+ They say that shopkeepers often remember things that you might forget.
  1474. X  They say that sinks and armor don't mix, take your cloak off now!
  1475. X  They say that sinks run hot and cold and many flavors in between.
  1476. X+ They say that snake charmers aren't charismatic, just musical.
  1477. X  They say that soldiers are always prepared and usually protected.
  1478. X  They say that some eggs could hatch in your pack, lucky or not.
  1479. X  They say that some fire ants will make you a hot meal.
  1480. X  They say that some horns play hot music and others are too cool for words.
  1481. X+ They say that some humanoids are nonetheless quite human.
  1482. X  They say that some shopkeepers consider gems to be family heirlooms.
  1483. X  They say that some shopkeepers recognize gems but they won't tell you.
  1484. X  They say that some stones are much much heavier than others.
  1485. X  They say that some yetis are full of hot air.
  1486. X  They say that someone said that the stooges once played here, nyuck, nyuck.
  1487. X+ They say that something very special would be in a well-protected place.
  1488. X  They say that speed boots aren't fast enough to let you walk on water.
  1489. X+ They say that teleport traps are the devil's work.
  1490. X+ They say that tengus don't wear rings, why should you?
  1491. X  They say that tengus never steal gold although they would be good at it.
  1492. X+ They say that that which was stolen once can be stolen again, ask any nymph.
  1493. X+ They say that the Delphic Oracle knows that lizard corpses aren't confusing.
  1494. X+ They say that the Hand of Elbereth can hold up your prayers.
  1495. X  They say that the Leprechaun King is rich as Croesus.
  1496. X  They say that the Wizard of Yendor is schizophrenic and suicidal.
  1497. X  They say that the experienced character knows how to convert an altar.
  1498. X  They say that the gods are happy when they drop objects at your feet.
  1499. X+ They say that the idea of invisible Nazguls has a certain ring to it.
  1500. X  They say that the lady of the lake now lives in a fountain somewhere.
  1501. X  They say that the local shopkeeper frowns upon the rude tourist.
  1502. X  They say that the only door to the vampire's tower is on its lowest level.
  1503. X+ They say that the only good djinni is a grateful djinni.
  1504. X+ They say that the road through hell is a one-way street.
  1505. X  They say that the road to hell begins with Medusa.
  1506. X+ They say that the thing about genocide is that it works both ways.
  1507. X+ They say that the unicorn horn rule is if it ain't broke then don't fix it.
  1508. X+ They say that the view from a fog cloud is really very moving.
  1509. X  They say that the walls in shops are made of extra hard material.
  1510. X  They say that there are at least 15 ways to lose a pair of levitation boots.
  1511. X  They say that throwing glass gems is the same as throwing rocks.
  1512. X+ They say that trespassing a boulder is probably beneath you.
  1513. X  They say that unicorns are fond of precious gems.
  1514. X  They say that water can identify an altar.
  1515. X  They say that what goes down the drain might come back up.
  1516. X+ They say that wielded, a long sword named Fire Brand makes you feel cooler.
  1517. X+ They say that wielded, a long sword named Frost Brand makes you hot stuff.
  1518. X+ They say that wiping its face is impossible for a floating eye.
  1519. X  They say that with a floating eye you could see in the dark.
  1520. X  They say that you are lucky if you can get a unicorn to catch a ruby.
  1521. X  They say that you are what you eat.
  1522. X***************
  1523. X*** 246,251 ****
  1524. X--- 299,305 ----
  1525. X  They say that you can't take your pick-axe into a shop.
  1526. X  They say that you don't always get what you wish for.
  1527. X  They say that you might find broken smoky potions in the morgue.
  1528. X+ They say that you should always be prepared for a final challenge.
  1529. X  They say that you should ask a dwarf to let you into a locked shop.
  1530. X  They say that you should pray for divine inspiration.
  1531. X  They say that you should religiously give your gold away.
  1532. X*** vms/Old/vmsmain.c    Sun Jun  3 10:35:42 1990
  1533. X--- vms/vmsmain.c    Thu May 24 21:37:46 1990
  1534. X***************
  1535. X*** 59,65 ****
  1536. X  #endif
  1537. X      if(argc > 1) {
  1538. X  #ifdef CHDIR
  1539. X!         if (!strncmp(argv[1], "-d", 2)) {
  1540. X          argc--;
  1541. X          argv++;
  1542. X          dir = argv[0]+2;
  1543. X--- 59,68 ----
  1544. X  #endif
  1545. X      if(argc > 1) {
  1546. X  #ifdef CHDIR
  1547. X!         if (!strncmp(argv[1], "-d", 2) && argv[1][2] != 'e') {
  1548. X!         /* avoid matching "-dec" for DECgraphics; since the man page
  1549. X!          * says -d directory, hope nobody's using -desomething_else
  1550. X!          */
  1551. X          argc--;
  1552. X          argv++;
  1553. X          dir = argv[0]+2;
  1554. X***************
  1555. X*** 83,89 ****
  1556. X          chdirx(dir,0);
  1557. X  #endif
  1558. X          prscore(argc, argv);
  1559. X!         if(isatty(1)) getret();
  1560. X          settty(NULL);
  1561. X          exit(0);
  1562. X          }
  1563. X--- 86,92 ----
  1564. X          chdirx(dir,0);
  1565. X  #endif
  1566. X          prscore(argc, argv);
  1567. X!         if(isatty(1) > 0) getret();
  1568. X          settty(NULL);
  1569. X          exit(0);
  1570. X          }
  1571. X***************
  1572. X*** 125,131 ****
  1573. X  # endif
  1574. X          case 'D':
  1575. X  # ifdef WIZARD
  1576. X!             if(!strcmp(getenv("USER"), WIZARD)) {
  1577. X                  wizard = TRUE;
  1578. X                  break;
  1579. X              }
  1580. X--- 128,134 ----
  1581. X  # endif
  1582. X          case 'D':
  1583. X  # ifdef WIZARD
  1584. X!             if(!strcmp(getenv("USER"), WIZARD_NAME)) {
  1585. X                  wizard = TRUE;
  1586. X                  break;
  1587. X              }
  1588. X***************
  1589. X*** 153,158 ****
  1590. X--- 156,167 ----
  1591. X              } else
  1592. X                  Printf("Player name expected after -u\n");
  1593. X              break;
  1594. X+         case 'i':
  1595. X+             if(!strcmp(argv[0]+1, "ibm")) assign_ibm_graphics();
  1596. X+             break;
  1597. X+         case 'd':
  1598. X+             if(!strcmp(argv[0]+1, "dec")) assign_dec_graphics();
  1599. X+             break;
  1600. X          default:
  1601. X              /* allow -T for Tourist, etc. */
  1602. X              (void) strncpy(pl_character, argv[0]+1,
  1603. X***************
  1604. X*** 318,326 ****
  1605. X  char *dir;
  1606. X  boolean wr;
  1607. X  {
  1608. X      static char *defdir = HACKDIR;
  1609. X  
  1610. X- # ifdef HACKDIR
  1611. X      if(dir == NULL)
  1612. X          dir = defdir;
  1613. X      else if (wr)
  1614. X--- 327,337 ----
  1615. X  char *dir;
  1616. X  boolean wr;
  1617. X  {
  1618. X+ # ifndef HACKDIR
  1619. X+     static char *defdir = ".";
  1620. X+ # else
  1621. X      static char *defdir = HACKDIR;
  1622. X  
  1623. X      if(dir == NULL)
  1624. X          dir = defdir;
  1625. X      else if (wr)
  1626. X***************
  1627. X*** 376,387 ****
  1628. X  byebye()
  1629. X  {
  1630. X      int (*hup)();
  1631. X      extern unsigned int dosh_pid;
  1632. X  
  1633. X      /* SIGHUP doesn't seem to do anything on VMS, so we fudge it here... */
  1634. X      hup = signal(SIGHUP, SIG_IGN);
  1635. X      if (hup != SIG_DFL && hup != SIG_IGN)
  1636. X      (*hup)();
  1637. X!     if (dosh_pid)
  1638. X!     SYS$DELPRC(&dosh_pid, 0);
  1639. X  }
  1640. X--- 387,405 ----
  1641. X  byebye()
  1642. X  {
  1643. X      int (*hup)();
  1644. X+ #ifdef SHELL
  1645. X      extern unsigned int dosh_pid;
  1646. X  
  1647. X+     if (dosh_pid)
  1648. X+     SYS$DELPRC(&dosh_pid, 0);
  1649. X+ #endif SHELL
  1650. X+ 
  1651. X      /* SIGHUP doesn't seem to do anything on VMS, so we fudge it here... */
  1652. X      hup = signal(SIGHUP, SIG_IGN);
  1653. X      if (hup != SIG_DFL && hup != SIG_IGN)
  1654. X      (*hup)();
  1655. X! 
  1656. X! #ifdef CHDIR
  1657. X!     (void) chdir(getenv("PATH"));
  1658. X! #endif
  1659. X  }
  1660. X*** vms/Old/vmsunix.c    Sun Jun  3 10:36:56 1990
  1661. X--- vms/vmsunix.c    Thu May 24 18:28:49 1990
  1662. X***************
  1663. X*** 21,27 ****
  1664. X--- 21,41 ----
  1665. X  #include <errno.h>
  1666. X  #include <signal.h>
  1667. X  #undef off_t
  1668. X+ #ifndef VAXC
  1669. X  #include <sys/stat.h>
  1670. X+ #else   VAXC
  1671. X+ #include <stat.h>
  1672. X+ #endif  VAXC
  1673. X+ #include <ctype.h>
  1674. X+ #ifdef no_c$$translate
  1675. X+ #include <errno.h>
  1676. X+ #define C$$TRANSLATE(status) (errno = EVMSERR,  vaxc$errno = (status))
  1677. X+ #else   /* must link with vaxcrtl object library (/lib or /incl=c$$translate) */
  1678. X+ extern FDECL(C$$TRANSLATE, (unsigned long));
  1679. X+ #endif
  1680. X+ extern unsigned long SYS$PARSE(), SYS$SEARCH(), SYS$ENTER(), SYS$REMOVE();
  1681. X+ extern unsigned long SYS$SETPRV();
  1682. X+ extern unsigned long LIB$GETJPI(), LIB$SPAWN(), LIB$ATTACH();
  1683. X  
  1684. X  int FDECL(link, (const char *, const char *));
  1685. X  
  1686. X***************
  1687. X*** 159,165 ****
  1688. X       * works
  1689. X       * also incidentally prevents development of any hack-o-matic programs
  1690. X       */
  1691. X!     if (!isatty(0))
  1692. X          error("You must play from a terminal.");
  1693. X  #endif
  1694. X  
  1695. X--- 173,179 ----
  1696. X       * works
  1697. X       * also incidentally prevents development of any hack-o-matic programs
  1698. X       */
  1699. X!     if (isatty(0) <= 0)
  1700. X          error("You must play from a terminal.");
  1701. X  #endif
  1702. X  
  1703. X***************
  1704. X*** 234,245 ****
  1705. X  {
  1706. X      register char *lp;
  1707. X  
  1708. X!     for (lp = s; *lp; lp++)
  1709. X!         if (!((*lp >= 'A' && *lp <= 'Z')
  1710. X!               || (*lp >= 'a' && *lp <= 'z')
  1711. X!               || (*lp >= '0' && *lp <= '9')
  1712. X!               || *lp == '$' || *lp == '_'
  1713. X!               || (lp > s && *lp == '-')))
  1714. X              *lp = '_';
  1715. X  }
  1716. X  
  1717. X--- 248,255 ----
  1718. X  {
  1719. X      register char *lp;
  1720. X  
  1721. X!     for (lp = s; *lp; lp++)         /* note: '-' becomes '_' */
  1722. X!         if (!(isalpha(*lp) || isdigit(*lp) || *lp == '$'))
  1723. X              *lp = '_';
  1724. X  }
  1725. X  
  1726. X***************
  1727. X*** 246,252 ****
  1728. X  int link(file, new)
  1729. X  const char *file, *new;
  1730. X  {
  1731. X!     int status;
  1732. X      struct FAB fab;
  1733. X      struct NAM nam;
  1734. X      unsigned short fid[3];
  1735. X--- 256,262 ----
  1736. X  int link(file, new)
  1737. X  const char *file, *new;
  1738. X  {
  1739. X!     unsigned long status;
  1740. X      struct FAB fab;
  1741. X      struct NAM nam;
  1742. X      unsigned short fid[3];
  1743. X***************
  1744. X*** 341,353 ****
  1745. X      return (getgid() << 16) | getuid();
  1746. X  }
  1747. X  
  1748. X! #ifdef CHDIR
  1749. X  unsigned int oprv[2];
  1750. X  
  1751. X  void
  1752. X  privoff()
  1753. X  {
  1754. X!     unsigned int prv[2] = { -1, -1 }, code = JPI$_PROCPRIV;
  1755. X  
  1756. X      (void) SYS$SETPRV(0, prv, 0, oprv);
  1757. X      (void) LIB$GETJPI(&code, 0, 0, prv);
  1758. X--- 351,363 ----
  1759. X      return (getgid() << 16) | getuid();
  1760. X  }
  1761. X  
  1762. X! #if defined(CHDIR) || defined(SHELL)
  1763. X  unsigned int oprv[2];
  1764. X  
  1765. X  void
  1766. X  privoff()
  1767. X  {
  1768. X!     unsigned long prv[2] = { -1, -1 }, code = JPI$_PROCPRIV;
  1769. X  
  1770. X      (void) SYS$SETPRV(0, prv, 0, oprv);
  1771. X      (void) LIB$GETJPI(&code, 0, 0, prv);
  1772. X***************
  1773. X*** 359,368 ****
  1774. X  {
  1775. X      (void) SYS$SETPRV(1, oprv, 0, 0);
  1776. X  }
  1777. X! #endif
  1778. X  
  1779. X  #ifdef SHELL
  1780. X! unsigned int dosh_pid = 0;
  1781. X  
  1782. X  int
  1783. X  dosh()
  1784. X--- 369,378 ----
  1785. X  {
  1786. X      (void) SYS$SETPRV(1, oprv, 0, 0);
  1787. X  }
  1788. X! #endif  /*CHDIR || SHELL*/
  1789. X  
  1790. X  #ifdef SHELL
  1791. X! unsigned long dosh_pid = 0;
  1792. X  
  1793. X  int
  1794. X  dosh()
  1795. X***************
  1796. X*** 370,387 ****
  1797. X      int status;
  1798. X  
  1799. X      settty((char *) NULL);    /* also calls end_screen() */
  1800. X!     (void) signal(SIGINT,SIG_IGN);
  1801. X      (void) signal(SIGQUIT,SIG_IGN);
  1802. X      if (!dosh_pid || !((status = LIB$ATTACH(&dosh_pid)) & 1))
  1803. X      {
  1804. X  #ifdef CHDIR
  1805. X          (void) chdir(getenv("PATH"));
  1806. X-         privoff();
  1807. X  #endif
  1808. X          dosh_pid = 0;
  1809. X          status = LIB$SPAWN(0, 0, 0, 0, 0, &dosh_pid);
  1810. X- #ifdef CHDIR
  1811. X          privon();
  1812. X          chdirx((char *) 0, 0);
  1813. X  #endif
  1814. X      }
  1815. X--- 380,397 ----
  1816. X      int status;
  1817. X  
  1818. X      settty((char *) NULL);    /* also calls end_screen() */
  1819. X!     (void) signal(SIGINT,SIG_DFL);
  1820. X      (void) signal(SIGQUIT,SIG_IGN);
  1821. X      if (!dosh_pid || !((status = LIB$ATTACH(&dosh_pid)) & 1))
  1822. X      {
  1823. X  #ifdef CHDIR
  1824. X          (void) chdir(getenv("PATH"));
  1825. X  #endif
  1826. X+         privoff();
  1827. X          dosh_pid = 0;
  1828. X          status = LIB$SPAWN(0, 0, 0, 0, 0, &dosh_pid);
  1829. X          privon();
  1830. X+ #ifdef CHDIR
  1831. X          chdirx((char *) 0, 0);
  1832. X  #endif
  1833. X      }
  1834. X
  1835. END_OF_FILE
  1836. if test 53441 -ne `wc -c <'patch8.12'`; then
  1837.     echo shar: \"'patch8.12'\" unpacked with wrong size!
  1838. fi
  1839. # end of 'patch8.12'
  1840. fi
  1841. if test -f 'vms/lev_lex.h' -a "${1}" != "-c" ; then 
  1842.   echo shar: Will not clobber existing file \"'vms/lev_lex.h'\"
  1843. else
  1844. echo shar: Extracting \"'vms/lev_lex.h'\" \(436 characters\)
  1845. sed "s/^X//" >'vms/lev_lex.h' <<'END_OF_FILE'
  1846. X/*       SCCS Id: @(#)lev_lex.h   3.0      90/05/24
  1847. X/* "vms/lev_lex.h" copied into "src/stdio.h" for use by lev_lex.c only!
  1848. X * This is an awful kludge to allow src/lev_lex.c to be compiled as is.
  1849. X * It works because the actual setup of yyin & yyout is performed in
  1850. X * src/lev_main.c, where stdin & stdout are still correctly defined.
  1851. X */
  1852. X#ifdef VAXC
  1853. X# module lev_lex "3.0.8"
  1854. X#endif
  1855. X
  1856. X#include <stdio.h>
  1857. X#define stdin  0
  1858. X#define stdout 0
  1859. END_OF_FILE
  1860. if test 436 -ne `wc -c <'vms/lev_lex.h'`; then
  1861.     echo shar: \"'vms/lev_lex.h'\" unpacked with wrong size!
  1862. fi
  1863. # end of 'vms/lev_lex.h'
  1864. fi
  1865. echo shar: End of archive 4 \(of 24\).
  1866. cp /dev/null ark4isdone
  1867. MISSING=""
  1868. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ; do
  1869.     if test ! -f ark${I}isdone ; then
  1870.     MISSING="${MISSING} ${I}"
  1871.     fi
  1872. done
  1873. if test "${MISSING}" = "" ; then
  1874.     echo You have unpacked all 24 archives.
  1875.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1876. else
  1877.     echo You still need to unpack the following archives:
  1878.     echo "        " ${MISSING}
  1879. fi
  1880. ##  End of shell archive.
  1881. exit 0
  1882.